// src/api/role/index.js

import http from "@/axios/index.js";
import { handleSuccess, handleError } from "@/api/index.js";

export const RoleApi = {
    // 获取角色列表
    list() {
        return http.get("/api/role/list")
            .then(handleSuccess)
            .catch(handleError)
            .then(res => handleSuccess(res, '获取角色列表'))
            .catch(error => handleError(error, '获取角色列表失败', '服务器连接异常'));
    },
    // 获取所有角色列表
    getRoleList: (params) => {
        return http.get('/api/role/pagelist',{ params });
    },

    // 添加角色
    addRole(data) {
        return http.post('/api/role/create', data)
            .then(res => handleSuccess(res, '添加角色成功'))
            .catch(error => handleError(error, '添加角色失败', '服务器连接异常'));
    },

    // 更新角色信息
    updateRole(data) {
        return http.put('/api/role/update', data)
            .then(res => handleSuccess(res, '更新角色信息成功'))
            .catch(error => handleError(error, '更新角色信息失败', '服务器连接异常'));
    },

    // 删除角色
    deleteRole(id) {
        return http.delete(`/api/role/delete/${id}`)
            .then(res => handleSuccess(res, '删除角色成功'))
            .catch(error => handleError(error, '删除角色失败', '服务器连接异常'));
    },

    // 根据ID查询角色
    getRoleById(id) {
        return http.get(`/api/role/get/${id}`)
            .then(handleSuccess)
            .catch(handleError)
            .then(res => handleSuccess(res, '获取角色信息成功'))
            .catch(error => handleError(error, '获取角色信息失败', '服务器连接异常'));
    }
};
